﻿using System;
using Magicodes.ExporterAndImporter.Core;

namespace NP.BPMReportPlatform.GC.Dto
{
    public class GetEngineeringBatchCancelOrdersOutput
    {
        /// <summary>
        /// 发起人名称
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string UserName { get; set; }
        /// <summary>
        /// 添加用户Id
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public Guid AddUserId { get; set; }
        /// <summary>
        /// 申请人工号
        /// </summary>
        [ExporterHeader(DisplayName = "申请人工号")]
        public string UserNumber { get; set; }
        /// <summary>
        /// 流程ID
        /// </summary>
        [ExporterHeader(DisplayName = "单据号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>        
        [ExporterHeader(DisplayName = "单据状态")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [ExporterHeader(DisplayName = "申请时间")]
        public string CreateTime { get; set; }


        /// <summary>
        /// 订单中心
        /// </summary>
        [ExporterHeader(DisplayName = "订单中心")]
        public string OrderCenter { get; set; }


        /// <summary>
        /// 取消原因
        /// </summary>
        [ExporterHeader(DisplayName = "取消原因")]
        public string CancelReason { get; set; }

        /// <summary>
        /// 负责销售员名称
        /// </summary>
        [ExporterHeader(DisplayName = "负责销售员名称")]
        public string SellUserName { get; set; }

        /// <summary>
        /// 取消原因分类
        /// </summary>
        [ExporterHeader(DisplayName = "取消原因分类")]
        public string ReasonClassification { get; set; }

        /// <summary>
        /// 是否产生费用
        /// </summary>
        [ExporterHeader(DisplayName = "是否产生费用")]
        public string IsProductionFees { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [ExporterHeader(DisplayName = "备注")]
        public string Remark { get; set; }

        /// <summary>
        /// 销售组织
        /// </summary>
        [ExporterHeader(DisplayName = "销售组织")]
        public string SalesOrganization { get; set; }

        /// <summary>
        /// 成本中心 入账
        /// </summary>
        [ExporterHeader(DisplayName = "入账成本中心")]
        public string CostCenterCredit { get; set; }


        /// <summary>
        /// 是否需要开票
        /// </summary>
        [ExporterHeader(DisplayName = "是否需要开票")]
        public string IsNeedInvoice { get; set; }

        /// <summary>
        /// 发票抬头
        /// </summary>
        [ExporterHeader(DisplayName = "发票抬头")]
        public string InvoiceTitle { get; set; }

        /// <summary>
        /// 销售部
        /// </summary>
        [ExporterHeader(DisplayName = "销售部")]
        public string Division { get; set; }

        /// <summary>
        /// 销售凭证
        /// </summary>
        [ExporterHeader(DisplayName = "销售凭证")]
        public string SalesVoucher { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        [ExporterHeader(DisplayName = "客户名称")]
        public string CustomerName { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        [ExporterHeader(DisplayName = "项目名称")]
        public string ProjectName { get; set; }

        /// <summary>
        /// 商机号
        /// </summary>
        [ExporterHeader(DisplayName = "商机号")]
        public string OpportunityNumber { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        [ExporterHeader(DisplayName = "物料编码")]
        public string MaterialCode { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        [ExporterHeader(DisplayName = "物料名称")]
        public string MaterialName { get; set; }

        /// <summary>
        /// 取消数量
        /// </summary>
        [ExporterHeader(DisplayName = "取消数量")]
        public string CancelQuantity { get; set; }

        /// <summary>
        /// 取消订单开票总金额
        /// </summary>
        [ExporterHeader(DisplayName = "取消订单开票总金额")]
        public string CancelOrderInvoiceAmount { get; set; }

        /// <summary>
        /// 下单日期
        /// </summary>
        [ExporterHeader(DisplayName = "下单日期")]
        public DateTime OrderDate { get; set; }

        /// <summary>
        /// 呆滞产品批次号
        /// </summary>
        [ExporterHeader(DisplayName = "呆滞产品批次号")]
        public string SluggishProductBatchNumber { get; set; }

        /// <summary>
        /// 呆滞产品解决方案
        /// </summary>
        [ExporterHeader(DisplayName = "呆滞产品解决方案")]
        public string SluggishProductSolution { get; set; }

        /// <summary>
        /// 呆滞产品预计处理完成日期
        /// </summary>
        [ExporterHeader(DisplayName = "呆滞产品预计处理完成日期")]
        public DateTime SluggishCompletionDate { get; set; }

        /// <summary>
        /// 处理呆滞品费用
        /// </summary>
        [ExporterHeader(DisplayName = "处理呆滞品费用")]
        public decimal SluggishGoodsPrice { get; set; }

        /// <summary>
        /// 链接
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }


        /// <summary>
        /// 流程是否结束
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public bool? IsEnd { get; set; }
    }
}